package vista.ventanas;


import javax.swing.JLabel;
import javax.swing.JComboBox;

import logica.Entidad;

import java.util.List;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.GridBagLayout;
import java.awt.Window;

@SuppressWarnings("serial")
public class VentanaEntidadesExistentes extends SubVentana {

	private final static int ALTO_VENTANA = 300;

	private JComboBox<Entidad> comboEntidades;

	public VentanaEntidadesExistentes(Window frame, List<Entidad> entidades) 
	{
		super(frame, "Entidades Existentes", ALTO_VENTANA);
		setEntidadesExistentes(entidades);
		
	}
	
	public Entidad getEntidad()
	{
		return (Entidad) comboEntidades.getSelectedItem();
	}
	
	@Override
	protected void agregarComponentesPanelInformacion()
	{
		GridBagLayout gridBagLayout = new GridBagLayout();
		gridBagLayout.columnWeights = new double[]{1.0};
		gridBagLayout.columnWidths = new int[]{0};
		gridBagLayout.rowWeights = new double[]{1.0, 0.0};
		gridBagLayout.rowHeights = new int[]{0, 100};

		this.getPanelDeInformacion().setLayout(gridBagLayout);
		
		JLabel lblEntidadesExistentes = new JLabel("Entidades Existentes:");

		GridBagConstraints gbc_lblEntidadesExistentes = new GridBagConstraints();
		gbc_lblEntidadesExistentes.anchor = GridBagConstraints.WEST;
		gbc_lblEntidadesExistentes.fill = GridBagConstraints.VERTICAL;
		gbc_lblEntidadesExistentes.insets = new Insets(0, 0, 10, 5);
		gbc_lblEntidadesExistentes.gridx = 0;
		gbc_lblEntidadesExistentes.gridy = 0;
		
		this.getPanelDeInformacion().add(lblEntidadesExistentes, gbc_lblEntidadesExistentes);
		
		comboEntidades = new JComboBox<Entidad>();
		
		GridBagConstraints gbc_comboEntidades = new GridBagConstraints();
		gbc_comboEntidades.fill = GridBagConstraints.HORIZONTAL;
		gbc_comboEntidades.insets = new Insets(0, 0, 30, 0);
		gbc_comboEntidades.gridx = 0;
		gbc_comboEntidades.gridy = 1;
		
		this.getPanelDeInformacion().add(comboEntidades, gbc_comboEntidades);
	}
	
	private void setEntidadesExistentes(List<Entidad> entidades)
	{
		for (Entidad nombreEntidades: entidades )
			comboEntidades.addItem(nombreEntidades);		
	}
}
